public class RemoveDuplicatesFromSortedArray {
    public static int removeDuplicates(int[] nums) {
        /*
        给你一个有序数组 nums ，请你 原地 删除重复出现的元素，使每个元素 只出现一次 ，返回删除后数组的新长度。
        不要使用额外的数组空间，你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
         链接：https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array
         */
        /**
         * step1 从后往前进行遍历
         *
         */
        int len  = nums.length;
        int fast=1;
        int slow =1;
        while (fast<len){
            if (nums[fast]!=nums[fast-1]){
                nums[slow] = nums[fast];
                slow++;
            }
            fast++;
        }
        return slow;

    }
    public static void main(String[] args) {
        int[] nums ={0,0,1,1,1,2,2,2,3,3,3,4};
        System.out.println(removeDuplicates(nums));
        for (int i:nums){
            System.out.println(i);
        }
    }
}
